MuleSoft Accelerator for Financial Services
Use case 3 - Payments modernization
Accelerate the development of modern payment solutions for Financial Institutions. Banks and Credit Unions will be able to deliver a diverse payments landscape that can address multiple types of financial transactions and customer needs.
Customers are increasingly attracted to payment experiences that offer more control, security, and flexibility. MuleSoft Accelerator for Financial Services offers a Payments Framework that can accelerate the development of complex payment solutions, for banks and credit unions, by leveraging the power of APIs on Anypoint Platform. This Payments Framework delivers a diverse payments landscape that can address multiple types of financial transactions and customer expectations.
The Payments Framework enables innovative payment experiences for customers. It delivers extensive and efficient clearing and settlement systems that enable open and secure payment experiences within the same financial institution, across different domestic institutions and internationally. The goal of the Payments Framework is to act as an accelerator by assisting banks with building out this framework, in order to provide top of class customer experience via traditional and emerging payment solutions.
Contents
- Solution overview
- Technical considerations
- Business requirements
- Functional overview
- Flow diagram
- High-level architecture
- Processing views
Payments modernization
See also
Solution overview
The Payment Modernization use case enables Banks and Credit Unions to provide payment offerings that their customers desire, while also enabling faster integration to various payment solutions with minimal development time and cost.
This use case provides an application network that enables Financial Institutions to easily integrate with both traditional payment methods or channels such as ACH, Fedwire, SWIFT and emerging payment solutions such as blockchain. The application network can also be expanded to offer P2P payments, support for crypto payments, and other emerging payment options.
The following diagram provides a high-level overview from a standards perspective of the protocols demonstrated by this use case.
In this design, the Open Banking Experience layer can be exposed for mobile and web app end consumers in addition to service providers and other institutions. The BIAN reference framework is used for internal business orchestration in the Process layer, which is augmented by the Cloud Information Model. The business processes then leverage the ISO 20022 standard for payment messaging in the System layer. This provides for greater flexibility in solution design while maintaining compatibility with common standards.
Before you begin
The Accelerators setup guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications. |
Glossary
Term | Definition |
---|---|
ACH | Automated Clearing House (ACH) is an electronic funds-transfer system that facilitates payments in the U.S. |
BIAN | The Banking Industry Architecture Network (BIAN), which wants to be the banking technology standard. |
CIM | The Cloud Information Model for MuleSoft Accelerators defines a set of standard data structures that can be used as canonical representations of common entities for integrating systems. |
FINS | Abbreviated term referring to the Financial and Insurance industries, consisting of the Banking, Insurance, and Wealth Management domains. |
Global Data | A Global Data service provides an accurate, consistent, and complete copy of business data for use by enterprise applications and business partners while also providing a means to link that copy to occurrences in other systems. |
SWIFT | SWIFT payments enable the movement of money using the SWIFT international payment network. |
Technical considerations
The end to end solution is demonstrated by leveraging the following components:
- A backend database to simulate a core banking system
- Docker containers to simulate payment platforms to demonstrate the integration to ACH and Fedwire
- A third-party Java library to simulate the processing of SWIFT messages
- A Fraud Analysis Application to demonstrate how a customer can integrate into their own fraud detection system.
- The Fixer API to demonstrate currency conversions for international payments.
Business requirements
Intrabank domestic fraud detection
Illustrate an example of how the accelerator uses AI to identify potential fraud scenarios in the payments space.
Intrabank international money movement
Enable transfer of funds within the same bank/financial institution but in different geographical jurisdictions i.e. United States to Europe.
Interbank domestic (ACH)
Enable transfer of funds from one account in one bank to another account in another bank, where both banks are in the same country (i.e. United States).
Interbank national (Fedwire)
Enable transfer of funds between two accounts at two different banks in the same country using Fedwire.
Interbank international (SWIFT)
Enable transfer of funds between accounts from two different banks, where those banks are located in two different countries.
Remittances
Enables the next generation payment models leveraging Blockchain technologies.
Functional overview
This use case supports inter and intra bank payments, international payments and remittances. Here is a functional overview of the supported payments flows:
Flow diagram
The following diagrams illustrate the inbound and outbound payments flows:
High-level architecture
The following diagram represents the portion of the overall solution that pertains to the payments modernization use case:
Processing views
The following sequence diagrams illustrate the processing flow for a select set of payment transactions; other payment transactions follow similar patterns. Note that some interactions, such as posting of notifications and verifying account balances, have been omitted to maintain clarity of the main process flows.
Interbank domestic payments
The individual initiating the transaction will provide the debtor bank name, debtor bank account number, the currency, amount of funds to be moved, creditor bank name, creditor bank account number. Once the transaction has been received by the Central Bank, an acknowledgement notification will be sent to both the sending and receiving bank. Refer to the simulation & reconciliation process below for details.
Interbank international payments sequence diagram
Similar to the interbank domestic payments use case, the sender will provide the debtor bank name, debtor bank account number, debtor currency, creditor bank name, creditor bank account number, creditor currency, and amount. The creditor account currency will be used as the payment currency; if different from the debtor account currency, the current exchange rate will be obtained and applied. Once the creditor bank has had its account credited, it will send a SWIFT (MT22) Acknowledgement message to the debtor Bank. Once the debtor Bank has received the message, it will reconcile its ledgers by debiting the sending account. Refer to the simulation & reconciliation process below for details.
Remittance payments sequence diagram
Remittance payments involve the transfer of assets between two crypto accounts. The sender must provide the debtor account number (wallet address), creditor account number, asset type, and amount. The remittance will be executed as an immediate blockchain transaction, with no simulation or reconciliation processes involved.
Payments simulation & reconciliation sequence diagram
The payments modernization solution uses Anypoint MQ to simulate the interaction between two banks, since the engagement is asynchronous. The ACH, Fedwire, and SWIFT System APIs simulate the posting of messages to real gateway implementations by sending them to MQ. These messages are picked up by a simulation process, which converts them into simulated payment confirmation messages and pushes them back onto MQ to be handled by the message gateway listeners. These listeners complete the simulation process by constructing generic reconciliation messages, which are pushed to the reconciliation process via MQ once more. While the following diagram illustrates the process for Fedwire messages, it also applies to ACH and SWIFT messages as well.
Goal
- Create a payment transfer between accounts
- Display notifications of payment progress as it is executed
Use case setup guide
Please refer to the demo setup guide if applicable, depending on the backend systems being used for the end-to-end deployed solution.
Main success scenario
To initiate payment transfer:
- Log into the Payments Web User Interface
- Create a new Remittance / Blockchain transaction
- Fill in transaction details and Submit the request
- Notification of payment initiation appears within a couple of minutes
- Notification of payment completion appears within a couple of minutes
Use case extensions
- Create a new Payments / International / SWIFT transaction
- Create a new Payments / National / ACH transaction
- Create a new Payments / National / Fedwire transaction
- Create a new Payments / National / LOCAL transaction
Downloadable assets
FINS System APIs
- Blockchain System API | API Specification | Implementation Template
- Core Banking Accounts System API | API Specification | Implementation Template
- Core Banking Customers System API | API Specification | Implementation Template
- Financial Institutions System API | API Specification | Implementation Template
- Foreign Exchange System API | API Specification | Implementation Template
- Fraud Analysis System API | API Specification | Implementation Template
- Payments ACH System API | API Specification | Implementation Template
- Payments Fedwire System API | API Specification | Implementation Template
- Payments SWIFT System API | API Specification | Implementation Template
- Salesforce Customers System API | API Specification | Implementation Template
- Salesforce Financial System API | API Specification | Implementation Template
FINS Process APIs
- Bank Accounts Process API | API Specification | Implementation Template
- Core Banking Poller Process API | API Specification | Implementation Template
- Customers Process API | API Specification | Implementation Template
- Payments Initiation Process API | API Specification | Implementation Template
- Payments InterBank International Execution Process API | API Specification | Implementation Template
- Payments InterBank National Execution Process API | API Specification | Implementation Template
- Payments IntraBank International Execution Process API | API Specification | Implementation Template
- Payments IntraBank National Execution Process API | API Specification | Implementation Template
- Payments Order Process API | API Specification | Implementation Template
- Payments Remittances Process API | API Specification | Implementation Template
- Payments Router Process API | API Specification | Implementation Template
- Payments Simulator Process API | API Specification | Implementation Template
- Reconciliation Process API | API Specification | Implementation Template
FINS Experience APIs
- Mobile Experience API | API Specification | Implementation Template
- Open Banking Accounts Experience API | API Specification | Implementation Template
- Open Banking ASPSP Experience API | API Specification | Implementation Template
- Open Banking PISP Domestic Experience API | API Specification | Implementation Template
- Open Banking PISP International Experience API | API Specification | Implementation Template
- Payments Web UI Experience API | API Specification | Implementation Template
FINS Listeners
- Payments ACH Listener | Implementation Template
- Payments Fedwire Listener | Implementation Template
- Payments SWIFT Listener | Implementation Template
- Salesforce Topic Listener | Implementation Template
Custom components
- Cloud Information Model for MuleSoft Accelerators
- Accelerator Common Core | Source
- FINS Common Resources | Source
- FINS Fraud Analysis Application | Source
- FINS Open Banking Library | Source
- FINS Payments Frontend Web UI | Source
Shared APIs (can be used across any use case)
- Accelerator Notifications Process API | API Specification | Implementation Template
- Accelerator Email System API | API Specification | Implementation Template
- Accelerator Email System API | API Specification | Implementation Template
- Accelerator Slack System API | API Specification | Implementation Template
- Accelerator SMS System API | API Specification | Implementation Template
References
Here are a few related links to supporting documentation: